package org.activitiDdemo;

import org.activiti.engine.*;
import org.activiti.engine.task.Task;

/**
 * Hello world!
 */
public class App {
    public static void main(String[] args) {

        //创建流程引擎
        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
        /// 得到流程存储服务组件
        RepositoryService repositoryService = processEngine.getRepositoryService();
        // 部署流程文件
        repositoryService.createDeployment().addClasspathResource("bpmn/MyProcess.bpmn").deploy();
        /// 得到运行时服务组件
        RuntimeService runtimeService = processEngine.getRuntimeService();
        // 启动流程
        runtimeService.startProcessInstanceByKey("myProcess");
        // 获取流程任务组件
        TaskService taskService = processEngine.getTaskService();
        // 查询第一个任务
        Task task = taskService.createTaskQuery().singleResult();
        System.out.println("1--- task.getName() = " + task.getName() + " --- task.getId：" + task.getId());
        //第一个任务完成
        taskService.complete(task.getId());

        // 查询第二个任务
        task = taskService.createTaskQuery().singleResult();
        System.out.println("2---- task.getName() = " + task.getName() + " --- task.getId：" + task.getId());
        // 完成第二个任务（流程结束）
        taskService.complete(task.getId());

        task = taskService.createTaskQuery().singleResult();

        System.out.println("流程结束后， 查找任务： " + task);

        // 退出
        System.exit(0);

    }
}
